So-called monolithic software systems are known, according to which the functional elements often are combined in a single software application inseparably. The administration and processing of the associated data is also carried out by the software application. An example for such a monolithic software application is an activity recording, according to which the activities can be acquired and assigned to a certain person. With respect to such an activity recording, not only activities are acquired and stored relating to a person, but rather also master data of the person is managed. Accordingly, the software application for activity recording is only able to access persons being managed in the activity recording.
As an alternative to the monolithic software applications, software applications are known, which are based on so-called client-server architecture, or which are configured as distributed software systems in general. Hereby, for example, the activity recording may be realized by two software components, wherein activities are acquired in a first component and may be assigned to a person, and wherein the persons are acquired and managed in a second component. The component for acquisition of activities may access the component for administration of the persons via an interface. Thereby, an improved maintainability of the software components or the data is achieved.
This procedure, however, has the disadvantage that already at the point of development of the component for activity recording, it has to be known which concrete component for managing the person is or is to be accessed during runtime. An exchange of the component for managing the person usually involves an adaptation of the component for acquisition of the activities, because, for example, the interfaces to the component have to be adapted to the person management in the component for activity recording, the latter not being possible during runtime, and has to be carried out in the source code of the component for activity recording.
A simple replacement of the components for the person management without adaptation of the component for activity recording, therefore, is not possible such that the component for activity recording during runtime may only access a concrete component for person management defined for activity recording.
In case a component for activity recording should nevertheless be able to have access to different components for person management, for each person component, an individual interface being adapted for this has to be implemented in the component for activity recording. Newly available components for person management may only be used, if also a corresponding interface is implemented for these new components in the component for activity recording.